package tcu.yuyp.service.impl;

import tcu.yuyp.pojo.R;
import tcu.yuyp.pojo.User;
import tcu.yuyp.service.Utils;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;

//用于服务membersServlet类
public class MembersService {

    //用于判断集合中是否已存在用户

    //用户报名参加旅游的方法
    public void postMembersResponse(List<User> userList, User newUser, R r) {

        if (userList.size() == 10) {
            //人数已满
            r.setCode(400);
            r.setMsg("报名失败：人员已满");
            return;
        }
        if (Utils.isExitUserName(userList, newUser.getName())) {
            //用户名已经存在
            r.setMsg("报名失败:" + newUser.getName() + "已经存在");
            return;
        }
        if (r.getCode() != 400) {
            //正常的情况
            LocalDateTime now = LocalDateTime.now();//获取当前时间
            String createdTime = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH-mm-ss"));//将时间转化为指定的格式
            newUser.setCreated(createdTime);//设置报名参加旅游的时间
            userList.add(newUser);//将请求的数据添加到userList集合中

            r.setCode(200);//直接设置响应的状态码
            r.setData("ok");

        }
    }

    //调用service层的查看参加旅游的所有人员的名单的方法
    public void getMembersResponse(List<User> userList, R r) {
        r.setCode(200);//设置响应状态码
        if (userList.isEmpty()) {
            //为空的情况
            r.setMsg("人数为空");
            return;
        }
        //不为空的情况
        r.setData(userList);
    }
}

